package Practica1;
import util.*;
import java.net.*;
import java.io.*;

/**
 * <p>Title: practica1</p>
 *
 * <p>Description: Introduccion a los sockets</p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: ESIDE</p>
 *
 * @version 1.0
 */
public class TCPClient {
    public static void main(String[] args) throws Exception {
        String sentence=""; //Variable dnd se almacena la frase introducida por el usuario
        String modifiedSentence=""; //Variable dnd se recibe la frase capitalizada
        try {
            //Se crea el socket, pasando el nombre del servidor y el puerto de conexi���n
        	Socket socket= new Socket("127.0.0.1",1234);
        	SocketManager manager=new SocketManager(socket);
            //Se inicializan los streams de lectura y escritura del socket
        	manager.InicializaStreams();
            //Se declara un buffer de lectura del
            //dato escrito por el usuario por teclado
            //es necesario pq no es un buffer propio de los sockets
        	BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
            //Se almacena en "sentence" la linea introducida por teclado

            while (!sentence.equals("adios")) {
                System.out.print("String a enviar: ");
                sentence = inFromUser.readLine();
                //El m���todo Escribir, pone en el socket lo introducido por teclado
                manager.Escribir(sentence+'\n');
                //El m���todo Leer, lee del socket lo enviado por el Servidor
                modifiedSentence=manager.Leer();
                //Saca por consola la frase modificada enviada por el servidor
               System.out.println(modifiedSentence);
            }
            System.out.println("Fin de la practica");
           manager.CerrarSocket();
           manager.CerrarStreams();
        } catch (Exception e) {
			System.err.println("main: " + e);
			e.printStackTrace();
        }

    }
    }
